package Logica.Enemigos;

import General.Constantes;
import Graficas.InterfaceGrafica;
import Graficas.Sprite;
import Graficas.SpriteMovements;

/**
 * Clase que representa a Koopa.
 * @author Mariano Rodecker
 * @author Matias Varela
 *
 */
public class Koopa extends Enemigo {
	protected int golpes;

	public Koopa(int sizeX, int sizeY, SpriteMovements sm, InterfaceGrafica ig) {
		super(sizeX, sizeY, sm, ig);
		golpes = 1;
	}

	public void setGolpes(int v) {
		golpes = v;
	}

	public int getGolpes() {
		return golpes;
	}

	public void morir() {
		if (golpes == 0)
			this.isDead = true;
		else
			golpes--;
	}

	public Enemigo clone() {
		Koopa e = new Koopa(this.getSizeX(), this.getSizeY(), this.getSpriteMovements().clone(), this.getInterfaceGrafica());
		e.setX(this.getSizeX());
		e.setY(this.getSizeY());
		e.setDirActual(this.getDirActual());
		e.setInteligencia(this.intel);
		e.setGolpes(this.getGolpes());
		return e;
	}

	@Override
	public Sprite getSprite() {
		if (golpes == 1)
			if (getDirActual() == Constantes.dir_left) {
				return getSpriteMovements().getSprite(0);
			} else
				return getSpriteMovements().getSprite(1);
		else {
			if (getDirActual() == Constantes.dir_left) {
				return getSpriteMovements().getSprite(2);
			} else
				return getSpriteMovements().getSprite(3);
		}
	}

	@Override
	public int getPuntosPorMuerte() {
		return intel.getPuntuacion().puntosPorMuerteKoopa();
	}

	@Override
	public int getPuntosPorDestruccion() {
		return intel.getPuntuacion().puntosDestruccionKoopa();
	}

	@Override
	public boolean mataAMario() {
		// TODO Auto-generated method stub
		return false;
	}

	@Override
	public void aumentarPuntos(int n) {
		// TODO Auto-generated method stub
		
	}

}
